#include "SList.h"

// #define PRINT(fromat,val) printf("The value of this " #val " is " fromat "\n" ,val)

// int main()
// {
//     int a = 10;
//     // printf("The value of this 'a' is %d\n",a);
//     PRINT("%d",a);

//     float b = 1.1f;
//     PRINT("%f",b);

//     return 0;
// }

int main()
{
    SLTNode* head = NULL;
    // SLTPushFront(&head,1);
    // SLTPushFront(&head,2);
    // SLTPushFront(&head,3);
    // SLTPushFront(&head,4);
    // SLTPushFront(&head,5);

    SLTPushBack(&head,1);
    SLTPushBack(&head,2);
    SLTPushBack(&head,3);
    SLTPushBack(&head,4);
    SLTPushBack(&head,5);

    SLTPrint(&head);

    //头删
    // SLTPopFront(&head);
    // SLTPopFront(&head);
    // SLTPopFront(&head);
    // SLTPopFront(&head);
    // SLTPopFront(&head);

    //尾删
    // SLTPopBack(&head);
    // SLTPopBack(&head);
    // SLTPopBack(&head);
    // SLTPopBack(&head);
    // SLTPopBack(&head);

    //链表的查找
    // SLTNode* f = SLTFind(&head,0);
    // if(f)
    // {
    //     printf("找到了,值是%d\n",f->data);
    // }
    // else
    // {
    //     printf("没找到!!!\n");
    // }

    //指定位置插入
    //1.查找
    // SLTNode* f = SLTFind(&head,5);
    // if(f)
    // {
    //     SLTInsert(&head,100,f);
    // }
    // else
    // {
    //     printf("要指定插入的位置没有找到!!!\n");
    // }

    //指定位置删除
    //1.查找
    // SLTNode* f = SLTFind(&head,6);
    // if(f)
    // {
    //     SLTErase(&head,f);
    // }
    // else
    // {
    //     printf("要删除的位置没有找到!!!\n");
    // }

    SLTDestory(&head);

    SLTPrint(&head);
    return 0;
}
